Digital content, such as an operating system update or a video game, is often available for download over a network connection from a digital content provider, thereby eliminating the need for a user to install the digital content on a computing device. The digital content can include a large amount of data, and therefore, downloading the digital content can potentially take a significant amount of time and/or can consume a significant amount of resources (e.g., networking resources, processing resources, memory resources, etc.). The amount of time taken and the amount of resources consumed in association with downloading the digital content from the digital content provider is exacerbated when numerous computing devices attempt to download the same digital content at or around the same time (e.g., at or around a time when the digital content is initially released or updated). Consequently, peer matching systems are implemented so computing devices can download digital content from other peer computing devices rather than from a digital content provider.
In conventional peer matching systems, peer devices contact a specific instance of a central service, advertising that they are willing to seed or share digital content with other peer devices. Consequently, peer devices interested in downloading the same digital content must contact the same specific instance of a central service, and ask for a set of peer devices to which they can connect to download the requested digital content.
However, conventional peer matching systems have several limitations. That is, a specific instance of the central service has limited resources including: limited memory resources to store peer matching information associated with computing devices that have initiated contact with the specific instance of the central service, limited processing resources to process peer matching information associated with computing devices that have initiated contact with the specific instance of the central service, and limited networking resources to receive and transmit peer matching information from and to computing devices that have initiated contact with the specific instance of the central service. Consequently, a specific instance of the central service can only handle a limited number of requests for registering peer devices during a particular time interval. When this limited number is reached, the specific instance of the central service becomes overloaded and peer matching performance implemented by the specific instance of the central service is severely reduced (e.g., requests may be turned away). Moreover, a specific instance of the central service can even fail or go offline due to the overload or some other reason, and therefore, the computing devices that contacted the specific instance of the central service can be lost (e.g., their availability for peer matching may not be recognized).